package com.rjwh.dingdong.client.adapter;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.GridView;
import android.widget.TextView;

import com.aishua.lib.utils.AsStrUtils;
import com.rjwh.dingdong.client.R;
import com.rjwh.dingdong.client.bean.localbean.MainPageModuleBookData;
import com.rjwh.dingdong.client.bean.localbean.MainPageModuleData;
import com.rjwh.dingdong.client.util.UrlUtil;
import com.rjwh.dingdong.client.util.ViewHolder;

import java.util.List;

/**
 * @author Kay
 * @ClassName MainPageModuleListAdapter
 * @Description
 * @date 2016-10-26
 * @history 2016-10-26 author: description:
 */

public class MainPageModuleListAdapter extends AdapterBase<MainPageModuleData> {

    private Context mContext;

    public MainPageModuleListAdapter(Context mContext) {
        this.mContext = mContext;
    }

    @Override
    protected View getExView(int position, View convertView, ViewGroup parent) throws Exception {
        if (convertView == null) {
            convertView = LayoutInflater.from(mContext).inflate(R.layout.main_page_module_item, parent, false);
        }

        TextView mainPageModuleItemTabTitleTv = ViewHolder.get(convertView, R.id.main_page_module_item_tab_title_tv);
        TextView mainPageModuleItemTabTitleMoreArrow = ViewHolder.get(convertView, R.id.main_page_module_item_tab_title_more_arrow);
        GridView mainPageModuleItemBookGv = ViewHolder.get(convertView, R.id.main_page_module_item_book_gv);

        MainPageModuleData mainPageModuleData = getList().get(position);

        if (mainPageModuleData == null) {
            return convertView;
        }

        String modulename = mainPageModuleData.getModulename();
        final String actionurl = mainPageModuleData.getActionurl();
        List<MainPageModuleBookData> booklist = mainPageModuleData.getBooklist();

        if (!AsStrUtils.isEmpty(modulename)) {
            mainPageModuleItemTabTitleTv.setText(modulename);
        }

        if (!AsStrUtils.isEmpty(actionurl)) {
            mainPageModuleItemTabTitleMoreArrow.setVisibility(View.VISIBLE);
            mainPageModuleItemTabTitleMoreArrow.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    UrlUtil.handelUrl(mContext, actionurl, true);
                }
            });
        } else {
            mainPageModuleItemTabTitleMoreArrow.setVisibility(View.GONE);
        }
        mainPageModuleItemBookGv.setFocusable(false);
        MainPageModuleBookGvAdapter adapter = new MainPageModuleBookGvAdapter(mContext);
        mainPageModuleItemBookGv.setAdapter(adapter);

        if (booklist != null) {
            adapter.appendToList(booklist);
        }
        mainPageModuleItemBookGv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                MainPageModuleBookGvAdapter adapter = (MainPageModuleBookGvAdapter) parent.getAdapter();
                MainPageModuleBookData item = adapter.getItem(position);
                String actionurl = item.getActionurl();
                UrlUtil.handelUrl(mContext, actionurl, true);
            }
        });

        return convertView;
    }
}
